This disclosure generally relates to color digital imaging on machines, such as printers and copiers and specifically relates to color conversion, color correction, and color calibration and/or characterization.
In today's business and scientific worlds, color has become essential as a component of communication. Color facilitates the sharing of knowledge and ideas. Consequently, companies involved in the development of digital color print engines are continuously looking for ways to improve the accuracy and total image quality of their products. One of the elements that affects image quality is the ability to consistently and accurately produce color documents.
FIG. 1 illustrates an exemplary embodiment of a system and method for multi-dimensional color conversion in the related art. The generation of color documents may be thought of as a two step process. First, input signals 100 representing a desired image are produced by a scanner, computer, copier, or other image-generating device. Second, a printer, copier, or other output device 102 receives the input signals 100, a color conversion component 104 converts the input signals 100 to output signals 106 and the output device 102 generates the image.
One problem with generating color documents is that output devices 102 have different capabilities and available colorants may be uniquely defined for each output device. As a result, the generated color document may have different colors when printed on different output devices. To overcome this problem, each output device 102 may be provided with a lookup table (LUT) 108 for converting input signals 100 into proper output signals 106.
A lookup table 108 converts input signals 100 into output signals 106 by performing a colorimetric match using the color conversion component 104. Typically, each printer can print a limited range of colors as a faithful reproduction of the intended color. However, some input signals 100 may be outside the range of printable colors on a particular printer. A printer gamut is the range of colors available for printing on a printer. Colors within a printer gamut may be fairly accurately reproduced, while colors outside of the printer gamut may not.
Color conversion involves a transformation of a desired color from a device independent color space to a device dependent color space. A device independent color space defines a color in terms of a standard color space or a colorimetric specification. Colors defined in a device independent color space may be more accurately reproduced on various different devices, such as printers. A common choice for a device independent color space is a luminance-chrominance space, denoted generically as LC1C2. A common example of a luminance-chrominance space is CIE L*a*b*. Some other standard color spaces are, for example, CIE XYZ, SMPTE linear RGB, SMPTE gamma-corrected RGB, YES and Photo Ycc. A device dependent color space defines a color in terms specific to the device. For example, a device dependent color space may be defined by a coordinate system defining color values as point coordinates, where each axis represents one of the colors (e.g., cyan, magenta, yellow, and black (CMYK)) that are within a gamut of a particular printer. The color conversion transformation in the color conversion component 104 is commonly implemented as a lookup table 108. Each input 100 in the device independent color space is characterized to an output signal 106 in the device dependent color space. Thus, this characterization maps device independent coordinates to device dependent coordinates.
Color correction involves inverting the colorimetric characterization and obtaining another transformation from device independent coordinates to device dependent coordinates. One way to test the efficacy of a color correction system is to examine how well it inverts the colorimetric characterization of an output device 102, such as a printer. To do so, test data may be printed and measured to obtain colorimetric data in true L*a*b* values. The true L*a*b* values are passed through the colorimetric characterization of an output device 102 and the color correction transformation to obtain estimated values.
Color calibration and/or characterization of an output device (e.g., printer) 102 involves the process of finding a set of signals to send to the printer to obtain a desired color. The desired color is described in device independent color space and the signals to send to the printer are described in device dependent color space. A complete color calibration and/or characterization transforms the device independent color descriptions into device dependent color descriptions such that the resultant output of developer materials (e.g., toner) on a substrate (e.g., piece of paper) produces the desired color. The final stage of color calibration and/or characterization involves establishing a color correction transformation. This may be done by printing and measuring patches distributed throughout the color space. The patches are used to build a multi-dimensional dimensional lookup table 108 that is used with interpolation. There are many known methods of interpolation, including tri-linear, tetrahedral, polynomial, linear, and others.
Lookup tables 108 may be stored in memory associated with a printer, which may be read-only memory (ROM), random-access memory (RAM) or any storage device. A lookup table 108 typically relates an input color space for input color signals 100 to an output color space for output color signals 106 and is commonly multi-dimensional, depending on the color spaces. For example, a lookup table with a three-dimensional output may be used for RGB output color space while a four-dimensional lookup table may be used for CMYK color space.
RGB color space, which is commonly used for scanners or monitors, may be defined as a three-dimensional space. In the RGB three-dimensional space, each of the three axes radiating from the origin define red, green and blue. The color black is located at the origin of a three-dimensional coordinate system (0,0,0), and the color white is located at the maximum of the coordinate system, which if color values are expressed in 8-bit integers (i.e., a whole number between 0 and 255) is located at (255, 255, 255). A similar coordinate system may be constructed for a printer.
CMYK color space, which is commonly used for printers, may be defined as a three- or four-dimensional space. In the CMY three-dimensional space, each of the three axes radiating from the origin define cyan, magenta and yellow. Black is usually added separately. In the CMYK four-dimensional space, each of the four axes define cyan, magenta, yellow and black.
L*a*b* values are independent color space representations of the CIE (Commission Internationale de L'éclairage) for color standards. L* defines lightness, a* corresponds to the red/green value and b* denotes the amount of yellow/blue.
The selection of the input color space in color conversion lookup tables 108 is a factor in minimizing interpolation error. Conventionally, the input color space is usually L*a*b* or RGB. On the one hand, a conventional L*a*b*-based lookup table 108 does not fit the printer gamut very well. As a result of not fitting well, some colors may not be printed accurately. On the other hand, a conventional RGB-based lookup table 108 does not offer uniform sampling grid spacing. Non-uniform grid spacing may also result in some colors not being printed accurately. Both the fit to the printer gamut and the degree of uniformity of the sampling grid spacing in a lookup table 108 affect interpolation error.